package com.diaohw.module.system.service;


import com.diaohw.module.system.obj.dto.RoleDto;
import com.diaohw.module.system.obj.query.RoleQuery;
import com.diaohw.module.system.obj.vo.RoleVo;
import com.diaohw.platform.common.obj.page.PageResultVo;

import java.util.List;

/**
 * <p>
 * 角色 服务类
 * </p>
 *
 * @author D-Hw
 * @since 2024-07-05
 */
public interface RoleService {

    /**
     * 新增
     */
    RoleVo create(RoleDto data);

    /**
     * 更新
     */
    RoleVo update(String id, RoleDto data);

    /**
     * 设置菜单权限
     *
     * @param roleId  角色ID
     * @param menuIds 菜单ID集合
     */
    Boolean menu(String roleId, List<String> menuIds);

    /**
     * 删除
     */
    Boolean delete(String id);

    /**
     * 依据ID查看信息
     */
    RoleVo detail(String id);

    /**
     * 查询列表
     */
    List<RoleVo> findByList(RoleQuery query);

    /**
     * 分页查看
     */
    PageResultVo<RoleVo> findByPage(RoleQuery query);

}
